Ejemplo 01 de CNC: Generación de OutQueue directamente
Ver el CNC01_direct.project
proyecto de ejemplo en el directorio de instalación de CODESYS bajo ..\CODESYS SoftMotion\Examples
.
Este ejemplo muestra un programa CNC con dos ejes. Se abordan cuatro posiciones en el plano X/Y con una velocidad y aceleración definidas. El programa establece dos puntos de cambio de ruta en la ruta. El programa se escribe directamente en una estructura de datos usando el SMC_OutQueue modo de compilación.
Crear un programa NC en el editor CNC
Crear un
CNCdirect
proyecto con un SoftMotion controlador.Insertar un Programa CNC objeto nombrado
Example
.Selecciona el Implementación
Din66025
y el Modo de compilaciónSMC_OutQueue
.Especifique los siguientes bloques de movimiento:
Editor CNC:
Creación de una interfaz de accionamiento y configuración de PLC
Defina una estructura de accionamiento con dos accionamientos lineales de la siguiente manera:
Inserte dos unidades virtuales
X_Drive
yY_Drive
bajo el Piscina de eje general SoftMotion.Selecciona el Tipo de eje parámetro a
Finite
(1).Editor de configuración:
Crear un programa IEC
Agregar un nuevo programa de CFC Ipo a la aplicación y configurar una tarea cíclica con un intervalo de 3 ms.
Active la unidad con el
MC_Power
bloque de funcionesPOU:
Introduzca el
SMC_Interpolator
POU. El bloque de funciones convierte una ruta definida por objetos GEOINFO en puntos de ruta discretos. El bloque de función recibe la dirección del programa CNC creado en la entradapoqDataIn
. Luego, el tiempo de ciclo de la tarea IEC debe escribirse en la entradadwIpoTime
. Puede especificar estos como valores constantes en la entradadwIpoTime
o puedes usar la variabledwCycle
de la estructura del grupo de ejes desde la configuración del PLC. La ventaja de esto es que el tiempo correcto se usa automáticamente como entrada del interpolador cuando cambia el tiempo de ciclo de la tarea.POU:
En este ejemplo, se controlará un sistema de pórtico. Para este propósito, inserte una instancia de los bloques de función de transformación inversa y directa de la
SM_Trafo
Biblioteca. El bloque de función de transformación directa contiene los variadores como entradas. El bloque de función de transformación inversa debe contener la posición establecida del interpolador. La transformación hacia adelante en el ejemplo es necesaria solo para la visualización.Instancia de bloque de función:
Las salidas del bloque de funciones (las coordenadas del eje) deben escribirse en los accionamientos. Esto se hace con el
SMC_ControlAxisByPos
bloque de funciones. Debido a que la aplicación no garantiza que las salidas del interpolador sean constantes (p. Ej., La ruta termina en un punto distinto de donde comenzó), active la evitación de espacios (bAvoidGaps
,fGapVelocity
,fGapAcceleration
,fGapDeceleration
). Luego conecta elStopIpo
salida a labEmergency_Stop
entrada del interpolador y conectar la salida del interpoladoriStatus
a las respectivas entradas de los bloques de función de control de ejes.Tenga en cuenta el orden correcto de los bloques de función al programar con CFC.
CFC:
Creación de una interfaz operativa y una interfaz de prueba
Vincula dos objetos de visualización a una nueva visualización: la plantilla del interpolador y la plantilla de la transformación. Debe utilizar marcadores de posición para vincularlos a las respectivas instancias del bloque de funciones (aquí: Ipo.smci
y Ipo.trafof
).
Puesta en servicio
Compile e inicie el programa creado. El programa ejecuta el movimiento del CNC tan pronto como Execute
se ha configurado la entrada del interpolador. Una vez que el programa se haya ejecutado por completo, puede reiniciarlo mediante un nuevo flanco ascendente.
Tenga en cuenta la función de los conmutadores de ruta que también se muestran en la visualización del bloque de función de interpolación.